package day18;

import java.util.LinkedList;

public class Demo02 {
	public static void main(String[] args) {
		MyQueue mq = new MyQueue();
		mq.add("111");
		mq.add("222");
		mq.add("333");

		while (!mq.isEmpty()) {
			System.out.println(mq.get());
		}

		MyStack ms = new MyStack();
		ms.add("111");
		ms.add("222");
		ms.add("333");

		while (!ms.isEmpty()) {
			System.out.println(ms.get());
		}

	}
}

// ---------------------------------------

// 模拟队列
class MyQueue {
	private LinkedList list;

	public MyQueue() {
		this.list = new LinkedList();
	}

	// 向队列中存入元素
	public void add(Object obj) {
		this.list.addFirst(obj);
	}

	// 从队列中取出元素
	public Object get() {
		return this.list.removeLast();
	}

	// 判断队列是否为空
	public boolean isEmpty() {
		return this.list.isEmpty();
	}
}

// 模拟栈
class MyStack {
	private LinkedList list;

	public MyStack() {
		this.list = new LinkedList();
	}

	// 入栈
	public void add(Object obj) {
		this.list.addFirst(obj);
	}

	// 出栈
	public Object get() {
		return this.list.removeFirst();
	}

	// 判断栈是否为空
	public boolean isEmpty() {
		return this.list.isEmpty();
	}
}